Design of a Toolset for Dynamic Analysis of Concurrent Java Program

نویسندگان

  • Alessio Bechini
  • Kuo-Chung Tai
چکیده

The Java language supports the use of monitors, sockets, and remote method invocation for concurrent programming. Also, Java classes can be defined to simulate other types of concurrent constructs. However, concurrent Java programs, like other concurrent programs, are difficult to specify, design, code, test and debug. In this paper, we describe the design of a toolset, called JaDA (Java Dynamic Analyzer), that provides testing and debugging tools for concurrent Java programs. To collect run-time information or control program execution, JaDA requires transformation of a concurrent Java program into a slightly different Java program. We show that by modifying Java classes that support concurrent programming, Java application programs only need minor modifications. We also present a novel approach to managing threads that are needed for testing and debugging of concurrent Java programs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Specifying Concurrent Programs: a Case Study in JML and Separation Logic

This paper presents a case study for the verification of concurrent programs. A model for a central printer server was designed, implemented and annotated with a formal specification in JML, extended with syntax for permissionbased separation logic. The specification is compatible with the VerCors toolset which is currently being developed at the University of Twente. The goal of this research ...

متن کامل

Guided Testing of Concurrent Programs Using Value Schedules

Testing concurrent programs remains a difficult task due to the non-deterministic nature of concurrent execution. Many approaches have been proposed to tackle the complexity of uncovering potential concurrency bugs. Static analysis tackles the problem by analyzing a concurrent program looking for situations/patterns that might lead to possible errors during execution. In general, static analysi...

متن کامل

Objective Quantification of Program Behaviour Using Dynamic Metrics

In order to perform meaningful experiments in optimizing compilation and runtime system design, researchers usually rely on a suite of benchmark programs of interest to the optimization technique under consideration. Programs are described as numeric, memoryintensive, concurrent, or object-oriented, based on a qualitative appraisal, in some cases with little justification. In order to make thes...

متن کامل

Effects of Concurrent Group Dynamic Assessment on Iranian EFL Learners’ Pragmatic Competence: A Case of Requests and Refusals

Pragmatic competence is one of the most important components of successful communication; also, it is the most difficult aspect of SLA. This study aimed to explore the effects of concurrent group dynamic assessment (G-DA) on Iranian EFL learners’ learning of requests and refusals, following a mixed method design. In the experimental part of the study, 2 intact classes were homogenized by a pret...

متن کامل

Static and Dynamic Contract Verifiers For Java

Design By Contract (DBC) is a systematic approach to specifying and implementing object-oriented software systems. DBC has been proved to greatly benefit software development. However, Java does not natively support DBC. We have developed a comprehensive solution to bring DBC into Java. The static and dynamic contract verifier is the most crucial part of the solution. We have developed a toolse...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998